#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
微信公众号Token获取示例
"""

from wechat_token import WeChatTokenManager, WeChatAPI
from config import WECHAT_CONFIG
import json

def main():
    """
    主函数 - 演示如何使用WeChatTokenManager
    """
    print("=== 微信公众号Token获取示例 ===")
    
    # 检查配置
    if WECHAT_CONFIG['APP_ID'] == 'your_app_id_here':
        print("⚠️  请先在config.py中配置您的APP_ID和APP_SECRET")
        return
    
    # 创建token管理器
    token_manager = WeChatTokenManager(
        WECHAT_CONFIG['APP_ID'], 
        WECHAT_CONFIG['APP_SECRET']
    )
    
    try:
        print("\n1. 获取Access Token...")
        token = token_manager.get_access_token()
        print(f"✅ Access Token: {token[:20]}...")  # 只显示前20个字符
        
        print("\n2. 检查Token状态...")
        print(f"Token是否有效: {token_manager.is_token_valid()}")
        print(f"剩余有效时间: {token_manager.get_token_remaining_time()} 秒")
        
        print("\n3. 获取Token详细信息...")
        token_info = token_manager.get_token_info()
        print(json.dumps(token_info, ensure_ascii=False, indent=2))
        
        print("\n4. 使用API调用器...")
        api = WeChatAPI(token_manager)
        
        # 示例：获取微信服务器IP列表
        print("正在获取微信服务器IP列表...")
        result = api.call_api('/cgi-bin/getcallbackip')
        if result.get('errcode') == 0:
            print(f"✅ 微信服务器IP数量: {len(result.get('ip_list', []))}")
        else:
            print(f"❌ 获取失败: {result}")
        
        print("\n✅ 示例运行完成！")
        
    except Exception as e:
        print(f"❌ 运行失败: {e}")

if __name__ == '__main__':
    main()
